package cc.rengu.redp.bizimpl.upmp.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author 刘玉亮.LL
 * @since 2021-06-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("T_B_PROD_INFO")
@ApiModel(value="BProdInfo对象", description="")
public class BProdInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "机构标识")
    @TableField("INST_ID")
    private String instId;

    @ApiModelProperty(value = "产品编码")
    @TableField("PROD_CODE")
    private String prodCode;

    @ApiModelProperty(value = "产品名称")
    @TableField("PROD_NAME")
    private String prodName;

    @ApiModelProperty(value = "产品描述")
    @TableField("PROD_DESC")
    private String prodDesc;

    @ApiModelProperty(value = "产品维护界面访问路径")
    @TableField("PROD_PATH")
    private String prodPath;

    @ApiModelProperty(value = "基础产品编码")
    @TableField("BASE_PROD_CODE")
    private String baseProdCode;

    @ApiModelProperty(value = "微信支付通道编码")
    @TableField("WECHAT_CHANNEL_ID")
    private String wechatChannelId;

    @ApiModelProperty(value = "支付宝支付通道编码")
    @TableField("ALIPAY_CHANNEL_ID")
    private String alipayChannelId;

    @ApiModelProperty(value = "状态")
    @TableField("PROD_STATUS")
    private String prodStatus;

    @ApiModelProperty(value = "审核状态")
    @TableField("AUDIT_STATUS")
    private String auditStatus;

    @ApiModelProperty(value = "审核拒绝原因")
    @TableField("AUDIT_REFUSE_REASON")
    private String auditRefuseReason;

    @ApiModelProperty(value = "创建人")
    @TableField("OPR_ID")
    private String oprId;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private String createTime;

    @ApiModelProperty(value = "最后修改人")
    @TableField("LAST_OPR_ID")
    private String lastOprId;

    @ApiModelProperty(value = "最后修改时间")
    @TableField("LAST_UPDATE_TIME")
    private String lastUpdateTime;

    @ApiModelProperty(value = "最后审核人")
    @TableField("LAST_AUDIT_ID")
    private String lastAuditId;

    @ApiModelProperty(value = "最后审核时间")
    @TableField("LAST_AUDIT_TIME")
    private String lastAuditTime;

    @ApiModelProperty(value = "非业务主键")
    @TableField("ID")
    @TableId(type= IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "备用字段1")
    @TableField("REMARK1")
    private String remark1;

    @ApiModelProperty(value = "备用字段2")
    @TableField("REMARK2")
    private String remark2;

    @ApiModelProperty(value = "备用字段3")
    @TableField("REMARK3")
    private String remark3;

    @ApiModelProperty(value = "主操作类型：新增、修改、删除、审核等")
    @TableField(exist = false)
    private String optFlag;

    @ApiModelProperty(value = "从操作类型：审核通过、审核退回等")
    @TableField(exist = false)
    private String opt;
    @TableField(exist = false)
    private String baseProdName;
    @TableField(exist = false)
    private String baseProdDesc;

    @TableField(exist = false)
    private List<BProdFeeInfo> bProdFeeList=new ArrayList<>();
    @TableField(exist = false)
    private List<BProdStageInfo> bProdStageList=new ArrayList<>();
    @TableField(exist = false)
    private List<BProdAuthCtrl> bProdAuthCtrlList=new ArrayList<>();


}
